home *** CD-ROM | disk | FTP | other *** search
- package horst;
-
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Toolkit;
-
- class ListView extends BlockView {
- ListView(View parent, Element e, HTMLPane container) {
- super(parent, e, container);
- }
-
- protected void init() {
- ((View)this).setInsets(0, 15, 0, 0);
- }
-
- protected boolean isWrappable() {
- return true;
- }
-
- protected void makeChildren(ViewFactory factory) {
- super.makeChildren(factory);
- if (super.m_elem.getType() == 23 && super.m_children != null) {
- int orderNum = 1;
- String start = (String)super.m_elem.getAttribute("start");
- if (start != null) {
- Integer iVal = Utilities.getInteger(start);
- if (iVal != null && iVal > 0) {
- orderNum = iVal;
- }
- }
-
- int maxNumberWidth = 0;
-
- for(int i = 0; i < super.m_children.length; ++i) {
- if (super.m_children[i] instanceof ListItemView) {
- Font f = super.m_children[i].getFont();
- FontMetrics fm = Toolkit.getDefaultToolkit().getFontMetrics(f);
- maxNumberWidth = Math.max(fm.stringWidth(String.valueOf(orderNum)), maxNumberWidth);
- ((ListItemView)super.m_children[i]).setOrderNumber(orderNum++);
- }
- }
-
- maxNumberWidth += 6;
-
- for(int i = 0; i < super.m_children.length; ++i) {
- if (super.m_children[i] instanceof ListItemView) {
- ((ListItemView)super.m_children[i]).setLeftInset(maxNumberWidth);
- }
- }
- }
-
- }
- }
-